import regular from '@/utils/regular';
import { emitCb, getOption } from '..';
import { loginRequest } from '../utils/request';

// plugin/pages/pwd-login/pwd-login.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    isShow: false,
    openImg: '../../img/eye.png',
    closeImg: '../../img/eye-slash.png',
    username: '',
    password: '',
    option: null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    const option = getOption()
    this.setData({ option })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() { },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() { },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() { },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() { },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() { },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() { },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() { },

  async submit(e) {
    const { username, password } = e.detail.value;
    console.log('submit===', { username, password, e });

    if (!regular.email.test(username)) {
      wx.showToast({
        title: '邮箱不合法',
        icon: 'error',
      });
      return;
    }

    if (password == null || password.length === 0) {
      wx.showToast({
        title: '请输入密码',
        icon: 'error',
      });
      return;
    }

    const loginRes = await loginRequest('app/smart_home/login/pwd', {
      account: username,
      password: password,
      lang: 'zh',
      refreshToken: true,
    });

    const { code: status, message, data } = loginRes.data;
    if (status != 200) {
      wx.showToast({
        title: message,
        icon: 'error',
      });
    } else {
      wx.showToast({
        title: '登录成功',
        icon: 'success',
      });
      emitCb(data);
      setTimeout(() => {
        wx.navigateBack({ delta: 3 });
      }, 1000);
    }
  },

  toggle: function (e) {
    this.setData({ isShow: !this.data.isShow });
  },
});
